package com.youlu.campus.website.service;

import com.youlu.campus.website.entity.CampanyTopic;
import com.youlu.campus.website.entity.CampanyTopicPageQuery;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 公司主题业务逻辑层接口
 *
 * @author su
 * @date 2025/08/25
 */
public interface CampanyTopicService {

    /**
     * 新增公司主题
     *
     * @param campanyTopic 公司主题实体
     * @return
     */
    CampanyTopic save(CampanyTopic campanyTopic);

    /**
     * 根据 ID 删除公司主题
     *
     * @param id 公司主题 ID
     * @return
     */
    Boolean delete(String id);

    /**
     * 根据 ID 查询公司主题详情
     *
     * @param id 公司主题 ID
     * @return
     */
    CampanyTopic findById(String id);

    /**
     * 分页查询公司主题列表
     *
     * @param pageQuery 分页参数
     * @return
     */
    Page<CampanyTopic> findByPage(CampanyTopicPageQuery pageQuery);

    /**
     * 查询所有公司主题列表（非分页，可根据实际需求决定是否保留）
     *
     * @return
     */
    List<CampanyTopic> findAll();
}